package com.ht.aems.fesmodel;

import com.ht.aems.fesmodel.data.AnalogPoint;
import com.ht.aems.fesmodel.data.DiscretePoint;
import com.ht.aems.fesmodel.data.MeasurePoint;
import com.ht.aems.fesmodel.data.SOEData;

/**
 * Created by IntelliJ IDEA.
 *
 * @author Dong Shufeng
 *         Date: 2008-7-22
 */
public interface MeasPersistence {

    public boolean saveSOEs(SOEData[] yx);
    
    public boolean removeRtu(int rtuId);
    public boolean removeAnalogPoint(int pointId);
    public boolean removeDiscretePoint(int pointId);

    public AnalogPoint[] getAllAnalogPoints();

    public DiscretePoint[] getAllDiscretePoints();

    public AnalogPoint[] getAnalogPoints(int rtuId);

    public DiscretePoint[] getDiscretePoints(int rtuId);

    public AnalogPoint getAnalogPoint(int rtuId, int pointNum);

    public DiscretePoint getDiscretePoint(int rtuId, int pointNum);

    public AnalogPoint getAnalogPoint(int pointId);

    public DiscretePoint getDiscretePoint(int pointId);

    public boolean addAnalogPoint(AnalogPoint point);

    public boolean addAnalogPoints(AnalogPoint[] points);

    public boolean updateAnalogPoint(AnalogPoint point);

    public boolean updateAnalogPoints(AnalogPoint[] point);

    public boolean addDiscretePoint(DiscretePoint point);

    public boolean addDiscretePoints(DiscretePoint[] points);

    public boolean updateDiscretePoint(DiscretePoint point);

    public boolean updateDiscretePoints(DiscretePoint[] point);

    public boolean updateMeasurePoint(MeasurePoint point);
    
    public boolean addMeasurePoint(MeasurePoint point);

    public boolean updateRtu(int rtuId, String name);
}
